/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.kreig133.spine.abstractmodel;

import com.kreig133.spine.interfaces.Velebra;


/**
 *
 * @author C.C.-fag
 */
abstract public class AbstractVelebra implements Velebra, Runnable {

    protected AbstractState state;
    protected AbstractAlgorithm algorithm;
    protected AbstractSpine spine;
    protected double weight;
    protected double length;
    protected double koeff;

    public AbstractVelebra(AbstractAlgorithm algorithm, AbstractSpine spine) {
        this.algorithm = algorithm;
        this.spine = spine;
    }

    public AbstractVelebra() {
    }

    public double getWeight() {
        return weight;
    }

    public void setWeight(Double weight) {
        this.weight = weight;
    }

    public double getKoeff() {
        return koeff;
    }

    public void setKoeff(Double koeff) {
        this.koeff = koeff;
    }

    public double getLength() {
        return length;
    }

    public void setLength(Double length) {
        this.length = length;
    }
    
    

    abstract public void nextState();

    abstract public void run();
}
